class Car:
    def __init__(self, make, model, year):
        self.make = make        # 品牌
        self.model = model      # 型号
        self.year = year        # 年份
        self.odometer_reading = 0    # 里程表读数,默认值为0,刚出厂的车,里程表读数为0

    def get_descriptive_name(self):
        """
        返回整洁的描述性信息
        :return:
        """
        long_name = "{} {} {}".format(self.year, self.make, self.model)
        return long_name.title()

    def read_odometer(self):
        """
        打印一条消息，指出汽车的里程数
        :return:
        """
        print("这辆车的里程数为{}公里".format(self.odometer_reading))

    def driver(self, miles):
        """
        3.通过方法增加里程数
        :param miles: 增加的里程数
        :return:
        """
        self.odometer_reading += miles
        print("这辆车增加了{}公里".format(miles))

    def set_odometer_reading(self, mileage):
        """
        2. 通过方法设置里程表读数
        :param mileage: 里程表读数
        :return:
        """
        self.odometer_reading = mileage
        print("这辆车的里程表读数已被设置为{}公里".format(self.odometer_reading))


print("__name__属性为：{}".format(__name__))


def create_car():
    car = Car("audi", "a4", 2023)
    print(car.get_descriptive_name())
    car.driver(100)
    car.read_odometer()

    # 修改属性的值
    # 1. 直接修改属性的值
    car.odometer_reading = 99
    car.read_odometer()


if __name__ == "__main__":
    create_car()
